

import 'package:json_annotation/json_annotation.dart';
import 'package:xsdk_flutter/xsdk/utils/x_utils_log.dart';

//定义生成的文件
part 'x_test_bean.g.dart';

@JsonSerializable(explicitToJson: true,includeIfNull:false) //当内部存在嵌套类时使用,不存在也可以使用
class XTestBean {
  //从别的字段取值,或重新转类型,计算等 注意:与name的使用有区别
  @JsonKey(readValue: _readValueForId)
  String? id;//
  static String? _readValueForId(Map<dynamic, dynamic> json, String key){
    XLogUtils.printLog('---json=$json,key=$key');
    //自定义从id或别的字段中取值
    return json['id']??json['ID']??'';
  }

  //获取json字符串里的xxx字段,并赋值给对应成员变量,注意toJson时也会更改成xxx新字段值
  @JsonKey(name: 'xxx')
  String? name;//

  XTestBean();

  //添加固定格式: _$自定义的类名FromJson  _$自定义的类名ToJson
  factory XTestBean.fromJson(Map<String, dynamic> json) => _$XTestBeanFromJson(json);
  Map<String, dynamic> toJson() => _$XTestBeanToJson(this);



}